package org.dreamwork.cai.annotation;

import org.dreamwork.util.DefaultConverter;
import org.dreamwork.util.IConverter;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention (RetentionPolicy.RUNTIME)
@Target (ElementType.PARAMETER)
public @interface AParameter {
    /**
     * 服务参数名称.
     * @return 服务参数名称
     */
    String name ();

    /**
     * 指定参数的类型转换器.
     *
     * @return 类型转换器
     */
    Class<? extends IConverter> converter () default DefaultConverter.class;

    /**
     * 参数描述，优先级高于
     * @return 参数描述
     */
    String description () default "";
}
